<?php

namespace App\Http\Controllers\Order;

use App\Http\Controllers\Controller;
use App\Models\Order\Order;
use App\Models\User\Bonus;
use Illuminate\Database\QueryException;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use Validator;
use App\Models\Api\Files;

/**
 * @group 用户查看当前可用优惠券接口
 *
 * 采用 restful api
 *
 * Body Parameters 表示请求的所需要的参数
 *
 * Query Parameters 表示返回参数的名称
 */

class BonusController extends Controller
{
    /**
     * 优惠券信息查看接口:分两类人查看
     *
     * 1. 后台管理员查看所有代金券的信息
     * 2. 用户查看本用户的代金券信息
     *
     * 200 数据访问成功
     * 400 参数错误
     * 414 不存在的用户在访问该接口
     *
     * @queryParam id 可用优惠券id号 提交订单使使用这个id号
     * @queryParam record_id 优惠券历史记录id号
     * @queryParam type 1 2 3对应 A B C三类优惠券
     * @queryParam no 优惠券编号
     * @queryParam fee 抵扣金额
     */

    public function index(Request $request){
        $type = $request->user_type;
        if($type == 3){
            $query = Bonus::with('record')->all();
            return response()->json(pageQuery($query,$request),200);
        }
        elseif($type == 1){
            $userId = $request->user_id;
            $query=Bonus::with('record')->where('user_id','=',$userId);
            return response()->json(pageQuery($query,$request),200);
        }else{
            return response()->json('error user type',414);
        }
    }


    /**
     * 单个优惠券信息查看接口:分两类人查看
     *
     * 1. 后台管理员查看所有代金券的信息
     * 2. 用户查看本用户的代金券信息
     *
     * 200 数据访问成功
     * 400 参数错误
     * 414 不存在的用户在访问该接口
     *
     * @queryParam id 可用优惠券id号 提交订单使使用这个id号
     * @queryParam record_id 优惠券历史记录id号
     * @queryParam type 1 2 3对应 A B C三类优惠券
     * @queryParam no 优惠券编号
     * @queryParam fee 抵扣金额
     */

    public function show(Request $request,$pk){
        $type = $request->user_type;
        if($type == 3){
            $query = Bonus::with('record')->find($pk);
            return response()->json(pageQuery($query,$request),200);
        }
        elseif($type == 1){
            $userId = $request->user_id;
            $query=Bonus::with('record')->where(['user_id'=>$userId,'id'=>$pk]);
            return response()->json($query->get()->toArray(),200);
        }else{
            return response()->json('error user type',414);
        }
    }

//    /**
//     * 优惠券信息查看接口:分两类人查看
//     *
//     * 1. 后台管理员查看所有代金券的信息
//     * 2. 用户查看本用户的代金券信息
//     *
//     * 200 数据访问成功
//     * 400 参数错误
//     * 414 不存在的用户在访问该接口
//     *
//     */
//    public function store(){
//
//    }

}
